package data.nanjing.expo.models.domain.dto;

import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * Created by zjp on 2018/7/3.
 * QQ：34948062
 * github: https://www.github.com/zjp1029
 * web： http://www.zjp1029.cn
 */
public class ActivityDto {

    private Integer id;
    private Integer userId;
    private String activityContent; //活动内容
    @NotNull(message = "活动名称不能为空")
    private String activityName;    //活动名称
    @NotNull(message = "省份不能为空")
    private String province;    //省
    @NotNull(message = "市名不能为空")
    private String city;    //市
    @NotNull(message = "区名不能为空")
    private String area;    //区
    private List<String> industry;    //行业
    private String fee; //是否免费
    private String imagePath;   //图片路径
    @NotNull(message = "活动人数不能为空")
    @Min(value = 1, message = "规模至少为1人")
    private Integer allowNum;    //限定活动人数
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @NotNull(message = "开始时间不能为空")
    private Date startTime; //活动开始时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @NotNull(message = "结束时间不能为空")
    private Date endTime;   //活动结束时间
    private String activityGuide;   //参会指导
    @NotNull(message = "地址不能为空")
    private String street;  //街道地址
    private String introduce;   //介绍
    private String schedule;    //日程
    private String organizations;   //组织机构
    @NotBlank(message = "地点不能为空")
    private String location;    //目的地
    private String guestInfo;   //嘉宾信息
    private List<Integer> tags;   //标签

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getActivityContent() {
        return activityContent;
    }

    public void setActivityContent(String activityContent) {
        this.activityContent = activityContent;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public List<String> getIndustry() {
        return industry;
    }

    public void setIndustry(List<String> industry) {
        this.industry = industry;
    }

    public String getFee() {
        return fee;
    }

    public void setFee(String fee) {
        this.fee = fee;
    }

    public String getImagePath() {
        return imagePath;
    }

    public void setImagePath(String imagePath) {
        this.imagePath = imagePath;
    }

    public Integer getAllowNum() {
        return allowNum;
    }

    public void setAllowNum(Integer allowNum) {
        this.allowNum = allowNum;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getActivityGuide() {
        return activityGuide;
    }

    public void setActivityGuide(String activityGuide) {
        this.activityGuide = activityGuide;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    public String getSchedule() {
        return schedule;
    }

    public void setSchedule(String schedule) {
        this.schedule = schedule;
    }

    public String getOrganizations() {
        return organizations;
    }

    public void setOrganizations(String organizations) {
        this.organizations = organizations;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getGuestInfo() {
        return guestInfo;
    }

    public void setGuestInfo(String guestInfo) {
        this.guestInfo = guestInfo;
    }

    public List<Integer> getTags() {
        return tags;
    }

    public void setTags(List<Integer> tags) {
        this.tags = tags;
    }
}
